package com.esisa.java.swing;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.LineNumberReader;
import java.util.Vector;

public class GestionClient {
	private Vector<Client> clients;
	
	public GestionClient() {
		clients=new Vector<Client>();
	}

	public GestionClient(Vector<Client> clients) {
		super();
		this.clients = clients;
	}

	public Vector<Client> getClients() {
		return clients;
	}

	public void setClients(Vector<Client> clients) {
		this.clients = clients;
	}
	
	public void AddClient(Client client){
		clients.add(client);
	}
	public void save() {
		try {
			
			FileWriter fWriter=new FileWriter("GestionStock.txt");
			Vector<Produit> produit=new Vector<Produit>();
			for (Client client : clients) {
				
				produit=client.getProduits();
				fWriter.write(client.toString()+"\r\n");
				fWriter.write(produit.size()+"\r\n");
				
				for (Produit p : produit) {
					fWriter.write(p.toString()+"\r\n");
				}
			}
			fWriter.close();
			
		} 
		catch (Exception e) {
			System.out.println(e.getStackTrace());
		}
	}

	@Override
	public String toString() {
		return "GestionClient [clients=" + clients + "]";
	}

	public int size() {
		return clients.size();
	}
	
	public Client getClient(int index) {
		return	clients.get(index);
	}
	
	public int rechercheClient(String code)
	{
		for (int i = 0; i < clients.size(); i++) {
			if(clients.get(i).getCode().equals(code)){ return i;}
		}
		return -1;
	}
	public void setProduit(Produit p,int index) {
		clients.get(index).getProduits().add(p);
	}

	public void read() {
		try {
			FileReader fRreadr=new FileReader("GestionStock.txt");
			LineNumberReader line=new LineNumberReader(fRreadr);
			
			String l=line.readLine();
	
			while(line!=null){
				
				Client client=new Client(l);
				l=line.readLine();
				Integer n=new Integer(l);
				
				for (int i = 0; i <n; i++) {
					
					l=line.readLine();	
					Produit p1=new Produit(l);
					client.AddProduit(p1);
				}
				clients.add(client);
				l=line.readLine();
			}
			fRreadr.close();
		} 
		catch (Exception e) {
			
		}
	
	}
}
